#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
日志模块
用于记录软件运行过程中的错误和调试信息
"""

import logging
import os
from datetime import datetime

# 创建logs目录（如果不存在）
LOGS_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'logs')
if not os.path.exists(LOGS_DIR):
    os.makedirs(LOGS_DIR)

# 配置日志格式
log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(
    level=logging.INFO,
    format=log_format,
    handlers=[
        logging.FileHandler(os.path.join(LOGS_DIR, f'paddleocr_{datetime.now().strftime("%Y%m%d")}.log'), encoding='utf-8'),
        logging.StreamHandler()  # 同时输出到控制台
    ]
)

def get_logger(name):
    """
    获取日志记录器
    
    Args:
        name (str): 日志记录器名称
        
    Returns:
        logging.Logger: 日志记录器实例
    """
    logger = logging.getLogger(name)
    return logger

# 创建默认日志记录器
logger = get_logger('PaddleOCRApp')